package com.zte.sys.login.control;

import com.zte.util.LogOutException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 由此注解描述的类为一个控制层全局异常处理类,在此类中可以定义异常处理方法
 * ,基于这些异常处理方法对异常进行处理.
 */
@ControllerAdvice
public class GlobalExceptionHandler {
    /**
     * @param e 用于接收出现的异常
     * @return
     * @ExceptionHandler 此注解描述的方法为一个异常处理方法, 在注解内部定义的异常
     * 类型为此方法可以处理的异常类型(包括异常的子类类型).
     */
//    @ExceptionHandler(Exception.class)
//    public String doHandleRuntimeException(Exception e) {
//        e.printStackTrace();//在后台控制台打印异常.
//        return "redirect:/login";//封装异常信息
//    }

    //处理异常，重定向到登陆页面
    @ExceptionHandler(LogOutException.class)
    public String doLogOutException(LogOutException e) {
//        e.printStackTrace();//在后台控制台打印异常.
        return "redirect:/login";//封装异常信息
    }
}

